// 如上所述， 现在一共有 50 种男内 衣和 50 种女内衣， 所以一共会产生 100 个对象。 如果将来生产了 10000 种内衣， 那这个程序可能会因为存在如此多的对象已经提前崩溃。
// 下面我们来考虑一下如何优化这个场景。 虽然有 100 种内衣， 但很显然并不需要 50 个男 模特和 50 个女模特。 其实男模特和女模特各自有一个就足够了， 他们可以分别穿上不同的内衣来拍照。


/*只需要区别男女模特
那我们先把 underwear 参数从构造函数中 移除，构造函数只接收 sex 参数*/
var Model = function(sex) {
    this.sex = sex;
};
Model.prototype.takePhoto = function() {
    console.log('sex= ' + this.sex + ' underwear=' + this.underwear);
};
/*分别创建一个男模特对象和一个女模特对象*/
var maleModel = new Model('male'),
    femaleModel = new Model('female');
/*给男模特依次穿上所有的男装，并进行拍照*/
for (var i = 1; i <= 50; i++) {
    maleModel.underwear = 'underwear' + i;
    maleModel.takePhoto();
};
/*给女模特依次穿上所有的女装，并进行拍照*/
for (var j = 1; j <= 50; j++) {
    femaleModel.underwear = 'underwear' + j;
    femaleModel.takePhoto();
};
//只需要两个对象便完成了同样的功能